#ifndef _INTERSECTABLE_H_
#define _INTERSECTABLE_H_

#include "BoundingBox.h"
#include "Ray.h"

class Shader;
class RenderState;

class Intersectable
{
public:
	Intersectable(void);
	~Intersectable(void);

	virtual BoundingBox getBounds()=0;
	virtual bool intersects(BoundingBox box)=0;
	virtual Shader getSurfaceShader()=0;
	virtual void setSurfaceLocation(RenderState state)=0;
	virtual void intersect(RenderState state)=0;
	virtual bool intersects(Ray r)=0;
};


#endif
